<!DOCTYPE html>
<html lang="en">

<head>
    <meta charset="UTF-8">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <meta http-equiv="X-UA-Compatible" content="ie=edge">
    <title>Document</title>
    <script src="./js/vue.js"></script>
</head>

<body>
    <template id="tempA">
        <div itany="网博">
            <h1>template模板DOM</h1>
            <p>{{ msg }}</p>
            <input type="text" v-model="msg">
        </div>
    </template>
    <!-- <div id="app" tagname="页面标签">
        <h1>页面dom</h1>
        <p>页面msg:{{ msg }}</p>
        <input type='text' v-model='msg'>
    </div> -->
    <hr>
    <p id="app"></p>
    <hr>
</body>
<script>
    /*
    var vm = new Vue({
        // 构建vue时的 容器模板定义
        // template:"<div itany='网博'><p>{{ msg }}</p><input type='text' v-model='msg'></div>",
        template:"#tempA",
        data:{
            msg:"msg变量"
        }

    });
    console.log(vm);
    console.log(vm.$el);
    // vm.$mount([el]) 传入el表示和页面中的模板完成挂载关系
    //    不传入el 空挂载，以template作为模板和实例产生关联
    vm.$mount("#tempA");
    console.log(vm.$el); // 获取完成空挂载之后 根据template 生成的DOM元素
    // document.body.appendChild(vm,$el)
    */

    var vm = new Vue({
        // 当 vue 构建同时定义了 el 和 template 属性时，vue会以template作为页面DOM结构进行关联
        // 最终会将template 替换 el 的指向 
        el:"#app", // el 挂在容器 ， 并将容器替换到指定位置
        template:"#tempA", // template 属性完成当前vue实例的模块定义
                           // vue 的模板解析过程，如果确定配置项中不存在 template 属性，会以 el对应的页面结果作为模板
        data:{
            msg:"msg变量"
        }
    });
</script>
</html>